//宝石与石头
/* 给你一个字符串 jewels 代表石头中宝石的类型，另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型，你想知道你拥有的石头中有多少是宝石。

字母区分大小写，因此 "a" 和 "A" 是不同类型的石头。
1 <= jewels.length, stones.length <= 50
jewels 和 stones 仅由英文字母组成
jewels 中的所有字符都是 唯一的*/
int numJewelsInStones(char* jewels, char* stones) {
int arr[62]={0};
int jewels_size=strlen(jewels);
int stones_size=strlen(stones);
for(int i=0;i<jewels_size;i++)
{
    arr[jewels[i]-'A']++;
}   
int sum=0;
for(int i=0;i<stones_size;i++)
{
    if(arr[stones[i]-'A'])
    sum++;
}
return sum;
}


//执行操作后的变量值
/*存在一种仅支持 4 种操作和 1 个变量 X 的编程语言：

++X 和 X++ 使变量 X 的值 加 1
--X 和 X-- 使变量 X 的值 减 1
最初，X 的值是 0

给你一个字符串数组 operations ，这是由操作组成的一个列表，返回执行所有操作后， X 的 最终值 。
1 <= operations.length <= 100
operations[i] 将会是 "++X"、"X++"、"--X" 或 "X--"

 */
 int finalValueAfterOperations(char** operations, int operationsSize) {
    int x = 0;
    for (int i = 0; i < operationsSize; i++) {
        if (operations[i][0] == '+' || operations[i][2] == '+') {
            x++;
        } else {
            x--;
        }
    }
    return x;
}



//JZ64 求1+2+3+...+n
/*求1+2+3+...+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。

数据范围： 
0
<
n
≤
200
0<n≤200
进阶：O(1)O(1)  O(n)O(n)
*/
class sta{
    friend class Solution;
    sta()
    {
        i++;
        sum+=i;
    }
static int  i;
static int sum;
};
int sta::i=0;
int sta::sum=0;
class Solution {
public:
    int Sum_Solution(int n) {
        sta arr[n];
        return sta::sum;
    }
};